//
//  Material.h
//  TrackingSim
//
//  Created by Garrett Manka on 1/28/12.
//  Copyright (c) 2012. All rights reserved.
//

#ifndef TrackingSim_Material_h
#define TrackingSim_Material_h

#include <math/Vector.h>
#include <string>

class Material
{
public:
    
    Material();
    
    void setName( const std::string& name );
    void setAmbient( const Sim::Vector& ambient );
    void setDiffuse( const Sim::Vector& diffuse );
    void setSpecular( const Sim::Vector& specular );
    void setSpecCoeff( double spec_coeff );
    void setTransparency( double transparency );
    
    std::string& getName();
    Sim::Vector& getAmbient();
    Sim::Vector& getDiffuse();
    Sim::Vector& getSpecular();
    double getSpecCoeff();
    double getTransparency();
    
private:
    
    std::string m_name;
    Sim::Vector m_K_ambient;
    Sim::Vector m_K_diffuse;
    Sim::Vector m_K_specular;
    double m_N_spec_coeff;
    double m_transparency;
};

#endif
